/*!
\copyright  Copyright (c) 2023 Qualcomm Technologies International, Ltd.
            All Rights Reserved.
            Qualcomm Technologies International, Ltd. Confidential and Proprietary.
\file
\brief      Sync start A2dp state and data

*/

#ifndef SYNC_START_A2DP_CTX_H_
#define SYNC_START_A2DP_CTX_H_

#include <sync_start_a2dp_types.h>
#include <source.h>
#include <operator.h>
#include <transform.h>

typedef struct
{
    sync_start_a2dp_info_t sync_info;

    Source media_source;

    /*! TWM convert clock transform used to convert TTP info (in local system
     * time) available in source stream into bluetooth wallclock time before
     * writing to sink stream.
     */
    Transform convert_ttp_to_wc;

    /*! TWM convert clock transform used to convert TTP info (in bluetooth wallclock
     * time) available in source stream into local system time before writing to sink
     * stream.
     */
    Transform convert_wc_to_ttp;

    Operator rtp_op;

    bool mmd_recived;
    bool graph_should_start;

    bool is_streaming;
    bool is_mirroring;

    bool aptx_ad_split_tx_mode;

} sync_start_a2dp_ctx_t;


sync_start_a2dp_ctx_t *SyncStartA2dp_GetCtx(void);

sync_start_a2dp_info_t *SyncStartA2dp_GetInfo(void);

#endif /* SYNC_START_A2DP_CTX_H_ */
